//
// Created by liushuai on 2021/1/21.
//

#ifndef LEETCODE_UTILS_H
#define LEETCODE_UTILS_H

#include <cmath>
#include <iostream>
#include <vector>
using namespace std;
template <typename T> void show_vector(vector<T> &data) {
    for (auto e : data) {
        cout << e << " ";
    }
    cout << endl;
}
template <typename T> void show_vector2(vector<vector<T>> &data) {
    for (auto e : data)
        show_vector(e);
}
/**
 * @brief 实现任意长度的参数求最大值
 *
 * @tparam T 参数数值类型
 * @param n 递归调用的最后调用参数的参数
 * @return T 返回数值类型
 */
template <typename T> T maximum(T n) { return n; }
template <typename T, typename... Args> T maximum(T n, Args... args) {
    return std::max(n, maximum(args...));
}
bool isEqual(double &a, double &b) {
    if (abs(a - b) <= 1e-4)
        return true;
    else
        return false;
}
#endif // LEETCODE_UTILS_H
